perm filename HOW[1,ALS]1 blob sn#332564 filedate 1978-02-09 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00063 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00005 00002			     The HOW MANUAL
C00009 00003	Supplementary Information
C00011 00004		HELP	An on-line program called by typing HELP.
C00012 00005		PRUNE.DAT	One line descriptions of some files
C00013 00006	Equipment
C00015 00007	Operating System Commands
C00016 00008		Basic commands
C00021 00009		Teletype Commands
C00022 00010		DataMedia Commands
C00023 00011	Text Editors
C00025 00012		E	The page and display oriented basic editor.
C00029 00013		SOS	Line numbering basic editor for teletype usage.
C00031 00014	Graphic Editors
C00032 00015		GEOMED	A graphics editor.
C00035 00016	Font Editors
C00036 00017		EDFONT
C00037 00018		FMUDGE
C00038 00019		FONT
C00039 00020		FCOPY
C00040 00021		(TVR)
C00041 00022		(DEK)
C00042 00023	Document Compilers
C00043 00024		PUB	Publication editor to achieve book format.
C00045 00025		POX	Formatting editor for use with the XGP.
C00048 00026		PUBMAC	Macros for generation of tables of contents etc.
C00051 00027	Built-in Editors
C00052 00028		ILISP
C00053 00029		AID
C00054 00030		BASIC
C00055 00031	Machine Languages
C00056 00032		FAIL	A fast one-pass assembly language
C00060 00033		MACRO	An older assembly language
C00061 00034		MIDAS
C00062 00035		MIX
C00063 00036	Algebraic Languages
C00064 00037		SAIL	The standard AI lab. ALGOL based languague
C00065 00038	 	PASCAL	An ALGOL-60 based languague developed by N. Wirth.
C00068 00039		BASIC
C00069 00040		AID
C00071 00041		WISE
C00072 00042		FORTRAN 40
C00073 00043	List Languages
C00074 00044		LISP 1.6
C00075 00045		MLISP2
C00076 00046		ILISP
C00077 00047		MACLSP
C00078 00048	Conversion Programs
C00079 00049		COPY
C00080 00050		TENDMP
C00081 00051		6TO10
C00082 00052	Communication Programs
C00083 00053		TELNET
C00084 00054		MAIL
C00085 00055		FTP
C00086 00056	Demonstration programs
C00087 00057		Chess
C00088 00058		Checkers
C00089 00059		Go
C00090 00060	Recreation Programs
C00091 00061		ADVENTURE
C00092 00062		(EYEWASH)
C00093 00063		CRYPTO	A bookkeeping program for use in solving puzzles.
C00094 ENDMK
C⊗;
		     The HOW MANUAL

Currently maintained by ALS

To use
	Type READ HOW[1,ALS]  then  <META><CONTROL>FNAME<META><CONTROL>P
	     where NAME is name of program you wish to enquire about.
	     If this does not work, see the directory on page 1.

This manual is designed as  a browsing aid to  acquaint you with the  many
different programs that are available on the system.

It does not take the place of the HELP files that are still available  for
information about some program  that you know about  and wish to use.   In
fact, the HELP program will probably be modified to access this manual for
those cases where no HELP file has been prepared.

The listings in this manual each occupy  a separate page of not more  than
100 lines,  and  they  are  arranged  in  groups  by  program  types,  and
alphabetically within these  groups.  The individual  pages are headed  in
such a manner that the directory forms  a useful index and so that a  FIND
command in E terminated  with <META><CONTROL>P may be  used to locate  any
desired entry.

The entries, in general, conform to the following format:

1) A first line, indented by a single TAB, to contain the program name,  a
second TAB and a very short  description (total line length not to  exceed
68 characters).

2) The name of the author or the person currently maintaining the program.

3) References to supplimentary information, on-line files, manual etc..

4) Calling and exiting commands

5) The explanatory text itself.

The author of  each page  has primary responsibility  for maintaining  the
information on his pages.  Please report  all errors or omissions to  him.
If he fails to correct the page in a reasonable period of time, you should
then add a signed addendum to the original page.  Please do not  otherwise
modify the files without the expressed approval of the designated authors.

The general sections are:

1)  Aids to more information 
2)  System information 
3)  Monitor commands  
4)  File maintanence programs  
5)  Reading  on-line documents  
6)  Spooling  and listing 
7)  General purpose  editors 
8)  Special purpose  editors 
9)  Text editing aids 
10) Programming languages  
11) Assembliers 
12) Compilerss
13) Debugging aids 
14) News service 
15) Arpanet 
16) Games
17) Fun programs
Supplementary Information

			    The New HOW File.

We are starting to  put togather a  new document aid  that will reside  on
UP,DOC, accessable by typing  READ HOW.  The  aim is to  have one page  in
this document on every  generally useful and  generally available file  on
the AI computer.  The start of this file is being kept on 1,ALS until  its
format has been finalized and until  there are enought completed pages  to
make it of use to others.

Contributers are asked to read page 2  of HOW[1,ALS] to get the flavor  of
what we are attempting to do and for our first stab as to desired  format.
Also look at the directory on page 1 and at some of the other pages to get
a feel for what is desired.

MAIL to EJG
Since you have  been documenting  PASCAL, I am  wondering if  you will  be
willing to be one of the early contributers to the new HOW file.

I have made a start at  a page on PASCAL but  you are welcome to re-do  it
completely if  you  have some  better  ideas  as to  format.   The  PASCAL
write-up is on page 38 of HOW[1,ALS].
	HELP	An on-line program called by typing HELP.

    The Help  program provides  minimal on-line  documentation for  system
programs and facilities.

    To use type HELP name<carriage return>  where name is the name of  the
program or facility that you are inquiring about.

    Type HELP with no file name for further information.
	PRUNE.DAT	One line descriptions of some files

    PRUNE.DAT files exist for  some of the system  file areas and  contain
one line descriptions of the files located in these areas.
Equipment

The following equipment is currently in use.

1 Digital Equipment Corporation KL10 and KA10
(36 bit words).

 262k words of 1 microsecond DEC core (MG10),
131k words of 1 microsecond Ampex core.

1 Ampex disc file (3330-11 type), 6 spindles
(capacity: 7.8 x 10↑9 bits).

 4 Dectape drives, 2 mag tape drives (7 track),
line printer, Calcomp plotter, Xerox Graphics Printer.

 58 Data Disc displays, 6 III displays, 3 IMLAC displays,
10 Datamedia displays, 15 Teletype terminals, 5 TI terminals.

 DEC PDP-11/45 and SPS-41 with 8k words (16 bit) of core
and 197k words of Intel MOS memory.

Communications processor: BBN TIP (Honeywell DDP-316) connected to the ARPA
Network.

Special equipment: Audio input and output systems, hand-eye equipment
(4 TV cameras, 2 arms), remote-controlled cart.
.end
Operating System Commands
	Basic Commands
	

For full information see Monitor Command Manual

Commands are described in the three following sections
1)  Basic commands for use with all terminals
2)  Teletype commands
3)  DadaMedia commands
	Basic commands

All commands end with <carriage return>.

Computer accounts are designated by PROJECT and USER initials (one to three
letters each).  E.g. "1,BAR" refers to project 1 of user BAR.  File names
are of the form SAMPLE.SAI[1,BAR], where the name SAMPLE may be up to six
letters long, the extension SAI may be up to three letters and is usually
used to designate the class of file (e.g.  "SAI" means that this is a
program written in the SAIL programming language).  If the account
designation is omitted ([1,BAR] in the example), your own account is presumed.

COMMAND			EFFECT

L 1/BAR		Logs you in as project 1, user BAR.  If there is a password
		on this account (as there must be for remote login), you will
		be asked for it, but your answer will not be printed.
		To change the password, log in with "%" in place of "/".

HELP		Prints a list of topics that the system has information about.
		If you say "HELP <topic>" it will type a bit of information on
		that topic.

K		Kills your job (logs you off).

RCV		Starts reading messages in your "mail box".  For a list of
		alternative commands, say "?" when it asks for a command.

MAIL LES	Initiates a message to user LES.  It first requests a subject,
		then the text of the message.  The message is terminated with
		a <control>Z character (i.e. hold down the CONTROL key and
		type "Z").

DIR		Lists the names of all files in your account directory.

DIR *.SAI[*,REG]  Lists the names of all files that have an SAI extension
		in any account belonging to user REG ("*" means "any").

TYPE SAMPLE.SAI	Types out the file SAMPLE.SAI stored under your account.

CREATE LIST	Creates an empty text file called LIST and lets you insert
		text using the SOS editor.  See the SOS Manual for editing
		commands.

ED LIST.OLD	Starts SOS editing an existing file called LIST.OLD.

COPY PEOPLE←JERKS.OLD	Makes a copy of the file JERKS.OLD in a new file
		called PEOPLE.

RENAME PEOPLE←JERKS.OLD	  Changes the name of JERKS.OLD to PEOPLE.

DELETE PEOPLE,*.OLD	Deletes the file PEOPLE and all files with extension OLD.

--------------
To stop any program that is running, type <control>C twice (i.e. push down
the key marked "Control" and hit "C" twice).  To make a program stop typing
out without halting, type <control>O.

To correct a command that has been partially typed, type BS or DEL once for
each character you wish to delete, or type <control>U to delete the entire
line.

For more complete information on commands, see the Monitor Command Manual
(SAILON-54.5)
	Teletype Commands
	DataMedia Commands
Text Editors

    Editors consist of two general types, basic text editors that make  it
possible to create  and modify  texts of all  sorts, and  the second  type
consisting of  speciallized  editors which  handle  formatting,  indexing,
pagination, and similar details.

General Editors
	General Editors
		E	The page and display oriented basic editor.
		SOS	Line numbering basic editor for teletype usage.

    The obsolete display editor TVED is still available on the system,
see TVED.DSC[UP,DOC]

	E	The page and display oriented basic editor.

Currently maintained by ALS and ME.

For other documentation, type
	HELP E
	READ E  for complete documentation
	HELP ETEACH  for a self-teaching manual
	<META><CONTROL>?  while using E

To use
	Type ET NAME where NAME is the name of file to be edited.
	Type CET NAME if file NAME is to be originally created.
To exit
	Type <META><CONTROL>E

    E is a page oriented editor designed for use with a display  terminal.
It brings one page of the text into core, as requested, and it displays  a
portion of  this page  as if  through a  window.  A  line pointer  and  an
underscoring cursor mark  the position  in the  text where  editing is  to
occur.  Special commands allow you  to go from page  to page, to move  the
window up or down on the page and  to move the line pointer and cursor  as
desired.

    E achieves its speed (1) by using  the system line editor and by  only
changing the core copy of the text  on the completion of a line edit,  and
(2) by updating the disk copy of the page only on the completion of a page
edit (automatically effected by moving to another page).

    Type  HELP TEACH  if  you  are unacquainted  with  this  editor.   An
abridged manual will be copied into  your file area and displayed to  you.
This manual is designed for self teaching and it leads you by simple steps
to a basic understanding  of the editor  so that you  can then procede  on
your own,  with  occasional references  to  the complete  manual  via  the
question mark command, as noted below.

    A complete  manual on  this editor  is available  on-line and  can  be
referenced while  using  the  editor  by  simply  typing  <META><CONTROL>?
Return to  the file  that you  are currently  editing is  via the  command
<META><CONTROL>H.
	SOS	Line numbering basic editor for teletype usage.

Currently maintained by LES.

For other documentation, type
	HELP SOS
	READ SOS.LES[UP,DOC]

To use
	Type ED NAME where NAME is the name of the file to be edited.

    SOS is a line-number oriented editor for text files.  It features  two
flavors of intraline editing (for  Teletypes and displays), string  search
and substitution, hyphenless text justification, and other glories.

    SOS provides the ability to insert, delete, modify, and print lines of
text.  While most  commands are  line-number oriented,  string search  and
substitution commands are available.  The entire text with line numbers is
brought into core.

Graphic Editors
	GEOMED	A graphics editor.
	SUDS
	MS
	GEOMED	A graphics editor.

    GEOMED is implemented in PDP-10 machine code and is composed of  about
250 subroutines.  These  subroutines are  SAIL and  LISP accessible.  When
load in a SAIL  core image, the GEOMED  subroutines are called GEOMES  for
"Geometric Modeling Embedded  in SAIL";  when loaded with  LISP, they  are
referred to as  GEOMEL, "Geometric Modeling  Embedded in LISP".   Strictly
defined, the  name  "GEOMED"  refers to  the  interactive  editor  itself;
however the reader  is warned that  the named "GEOMED"  may also refer  to
GEOMEL, GEOMES, MESGEM, the data structures, the command languages, and so
on.

    As a graphics language, GEOMED is all semantics with no syntax of  its
own. The subroutines  take from one  to four arguments,  return one or  no
values, and usually have considerable side effects on the data structures.
Unless otherwise noted, all arguments and values are integers; subroutines
executed only for effect tend to return integer value zero.

    The GEOMED  data  structure  is  implemented  as  twelve  word  blocks
containing pointers  and  data  in  the  fashion  usual  to  graphics  and
simulation. The twelve word blocks are called "nodes".  Nodes are referred
to by their actual  machine address in  the user core  image, which is  an
integer called  a "link".   Subroutines that  take nodes  as arguments  or
return nodes as values  pass links rather than  the nodes themselves.   In
SAIL, the user core image can be accessed as a special array named MEMORY;
in LISP, the core  image is accessible  in the last  resort by the  SUBRs:
EXAMINE and DEPOSIT.

A COMPLETE MANUAL exists on-line as GEOMEN.BGB[UP,DOC].

Font Editors
	EDFONT
	FMUDGE
	FONT
	FCOPY
	(TVR)
	(DEK)
Document Compilers
	PUB	Publication editor to achieve book format.
	PUBMAC	Macros for generation of tables of contents etc.
	POX	Formatting editor for use with the XGP.
	PUB	Publication editor to achieve book format.

    PUB  is  an  advanced  text  justifier  and  page  formatter  intended
primarily for  use by  programmers.  It  can automatically  number  pages,
sections, figures, footnotes, etc.  and  can print their numbers in  roman
numerals as  well as  in digit  or  letter form.   It can  generate  cross
references, tables of contents, and indexes.  Page layout is flexible, and
allows  multiple   column   output.   Line   formatting   includes   tabs,
underlining,  superscripts,  subscripts,  centering,  and   justification.
Macros programmed in a  SAIL-like string-processing language can  generate
text to be printed in the document.  The output of the compiler is a  file
which can  be  printed  on  the  terminal, on  the  line  printer,  or  on
microfilm.

    A complete manual exists for this editor and can be consulted  on-line
by typing READ PUB.TES[S,DOC]
	POX	Formatting editor for use with the XGP.

    POX is  a program  for making  documents that  take advantage  of  the
special features  available  on the  Xerox  Graphics Printer  (XGP).   The
special features  that POX  provides are  mainly font  switching and  text
justification.  (There are some other features, but a novice user need not
be concerned with them at present.)

    POX takes a file as input and produces an output file that is suitable
for spooling  with  the XGP  spooler  (XSPOOL command).   The  input  file
contains instructions to  POX and  the text  of the  document.  POX  takes
character sequences as commands.  Each  command sequence is preceded by  a
character, called the Escape Character.   The first character in the  file
(ignoring TV directories  and SOS  line numbers) is  taken by  POX as  the
escape character.  Thus, the  user gets to  specify the escape  character.
The escape character can be arbitrary, but reason dictates that it  should
be some character that appears infrequently (or not at all) in the text of
the document.  Common choices for the escape character is \ or $.  In  the
remainder of this document, the character \ represents the current  Escape
Character.

    To run POX, use the system command R POX.  POX wants to see a  command
of the form:  <OUTPUT FILE>←<INPUT FILE>.   If the <OUTPUT  FILE> term  is
omitted then the output file  will have the same  name as the input  file,
and ".XGP" extension.   If the extension  is omitted on  the output  file,
".XGP" will be used.

    If all is well with the input file, POX will run and produce an output
file suitable for XSPOOLing.  POX will load the appropriate XSPOOL command
into your line editor, so all you have  to do is type return to spool  the
file.

	PUBMAC	Macros for generation of tables of contents etc.

.<<     TWO COLUMN FORMAT       by L. Earnest           February 1975
.
.This is a description of how to use the PUB macros in BASKER.PUB[SUB,SYS].
.These macros set up one- or two-column formats with Section, Subsection, and
.Subsubsection numbering and automatic Table of Contents generation.
.
.                       Heading
.First, your file should specify the device.  If it is "DEVICE XGP", then
.you must specify both a Font 1, which should be lightface,
.and Font 3, which should be boldface.  For example, if you say
. REQUIRE "BASKER.PUB[SUB,SYS]" SOURCE_FILE;
.you will get the three Baskerville fonts, with Font 2 being italic.
.
.                       One-sided Documents
.For documents that will be printed on only one side of the paper, the
.Section name will appear in the top left of each page and the page number
.in the top right.
.
.                       Two-sided Documents
.For documents that will be printed on both sides of the paper, even numbered
.(left) pages will have the page number in the upper left corner, followed by the
.the Section name.  Odd numbered (right) pages will have the Subsection name
.(if any) in the top left and the page number in top right.
.
Built-in Editors
	ILISP
	AID
	BASIC
Machine Languages
	FAIL	A fast one-pass assembly language

FAIL is an  assembly program for  PDP-6 and PDP-10  machine language.
FAIL operates in one pass,  which means that it reads the  input file
only once;  the linking loader program (LOADER or  LINK-10) completes
any aspects  of the assembly  which could not  be done by  FAIL.  The
efficiencies which have  been employed in  its coding make  FAIL five
times faster than MACRO-10, the DEC assembler.

FAIL  processes  source program  statements  by  translating mnemonic
operation codes into the binary codes needed in machine instructions,
relating  symbols to  numeric  values, and  assigning  relocatable or
absolute  core  addresses  for program  instructions  and  data.  The
assembler  can prepare  a  listing of  the program  which  includes a
representation of the  assembled code.  Also, the  assembler notifies
the user of any errors detected during the assembly.

FAIL has a  powerful macro processor  which allows the  programmer to
create new  language elements to  perform special functions  for each
programming job.

FAIL permits an ALGOL-style  block structure which provides a  way of
localizing the usage of  symbols to particular parts of  the program,
called blocks.   Block structure  allows the same  symbol name  to be
given different meanings in different blocks.

The  reader  of  this  manual  should  be  familiar  with  the PDP-10
instruction  set,  which  is described  in  both  DECsystem-10 System
Reference Manual and PDP-10 and PDP-6 Instruction Sets (SAILON-71).

Other documents of interest:

Frost, M.  UUO Manual, SAILON-55.3, December 1973
Petit, P.  RAID, SAILON-58, September 1969
Harvey, B. Monitor Command Manual, SAILON-54.3, December 1973

The following are available in the DECsystem-10 Software Notebooks:

       Cross-Reference Listing: CREF, June 1973
       DDT-10 Programmer's Reference Manual, June 1973
       Linking Loader Programmer's Reference Manual, August 1971
       LINK-10 Programmer's Reference Manual, May 1973
       MACRO-10 Assembler Programmer's Reference Manual, June 1972
       DECsystem-10 Operating System Commands, February 1974
       DECsystem-10 Monitor Calls, June 1973
	MACRO	An older assembly language
	MIDAS
	MIX
Algebraic Languages
	SAIL	The standard AI lab. ALGOL based languague
 	PASCAL	An ALGOL-60 based languague developed by N. Wirth.

Maintained by ?

Information extracted from documentation by EJG.

For other documentation see:
	PASINS.EJG[UP,DOC]	One page PASCAL installation guide
	PASNOT.EJG[UP,DOC]	PASCAL local user's notes, from LOTS
	PASHLP.EJG[UP,DOC]	Six page help file, from LOTS
	PASDOC.EJG[UP,DOC]	History of DEC-10 implementation
	PASMAN.EJG[UP,DOC]	User's manual, assuming prior knowledge
				of PASCAL (from e.g. Wirth's report)
	(This write-up relates only to the newer version.  For information
	on an older version see  PASCAL.EJG[UP,DOC])

To use type
	EXECUTE FOO.PAS/LIST

The newer PASCAL is now available via the standard COMPILE class commands.
The more common  COMPILE class  commands work  as expected,  but the  user
should be warned that there are still some peculiarities in the way  these
commands interface to PASCAL.

There are unfortunately some incompatibitilies between the old and the new
version.

The older version  was put  up at  SAIL in  (May?) 1975  by Mike  Farmwald
(PMF).  It was  apparently usable  but inconvenient  and sometimes  buggy.
For example, the old compiler produced only a runnable core image, whereas
the newer one produces more flexible relocatable (.REL) object files.

The newer version  was put up  at SAIL  in February 1978  by Erik  Gilbert
(EJG).  It came  via LOTS  from DECUS, and  claims to  be the  '30-DEC-76'
version from Hamburg.  It is not well  tested here yet, but seems to  have
fewer  bugs  and  lots   more  features,  as  well   as  lots  more   user
documentation.
	BASIC
	AID
	WISE
	FORTRAN 40
List Languages
	LISP 1.6
	MLISP2
	ILISP
	MACLSP
Conversion Programs
	COPY
	TENDMP
	6TO10
Communication Programs
	TELNET
	MAIL
	FTP
Demonstration programs
	Chess
	Checkers
	Go
Recreation Programs
	ADVENTURE
	(EYEWASH)
	CRYPTO	A bookkeeping program for use in solving puzzles.

A program to do the "bookkeeping" involved in solving cryptogram puzzles
(single-letter-substitution ciphers).
Not to be confused with the enciphering/deciphering program  CRYPT.

Runs on a DataDisc but can be used on other terminals.
Will create your own file of cryptograms.
Sample cryptograms available.

To use type R CRYPTO, to exit type QUIT or EXIT

Type READ CRYPTO for further details.

There is no PRUNE.DAT listing.

There is no HELP file.

Written by DON.